export interface ModelObject {
    uid: string;
    creation_date: string,
    last_mod_date: string,
    children?: ModelObject[],
    expands?: boolean,
}

/** 产品汇总 */
export interface ProductSummary extends ModelObject {
    /** ID */
    item_id: string;
    /** 版本 */
    item_revision_id: string;
    /** 名称 */
    object_name: string;
    /** 所有者 */
    owning_user: string;
    /** 上次修改用户 */
    last_mod_user: string;
    /** 修改日期 */
    last_mod_date: string;
    /** 创建日期 */
    creation_date: string;
    /** 描述 */
    object_desc: string;
    /** 发布状态 */
    release_status_list: string;
    /** 发布日期 */
    date_released: string;
    /** 大类 */
    big_classname: string;
    /** 备案项目名称 */
    project_name: string;
    /** 用途 */
    usage: string;
    /** 最终成品编码 */
    projectcode_id_last: string;
    /** 成品尺寸 */
    project_size_yc: string;
    /** 无 D */
    isnull_D: string;
    /** LOGO */
    logo: string;
    /** 品牌 */
    brand: string;
    /** 出货工厂 */
    product_shipment: string;
    /** 出货方式 */
    shipping_method: string;
    shipment_color: string;
    /** 适用机型 */
    compatible: string;
    /** 营业电话 */
    business_tel: string;
    /** 营业项目组 */
    business_project: string;
    /** 产品 BOM 编号 */
    project_line_BOM: string;
    /** 原料材质 */
    rawmaterial_texture: string;
    /** 白片单重 */
    first_weight: string;
    /** 成品尺寸mm */
    project_size_mm: string;
    /** 成品单片净重 */
    project_weight: string;
    /** 平方米 */
    square_metres: string;
    /** 成品视窗 */
    project_windows: string;
    /** 型号 */
    model: string;
    /** 主要组成部分 */
    key_component: string;
    /** 物流园 */
    logistics_park: string;
    /** 生产流程 */
    work_flow: string;
    /** 备注 */
    remark: string;

    children?: ProductSummary[];

    // uid string,
    // big_classname string,--大类
    // project_name string,--备案项目名称
    // usage STRING,--用途
    // projectcode_id_last STRING,--最终成品编码
    // project_size_yc STRING,--成品尺寸
    // isnull_D string,--无D
    // logo STRING,--LOGO
    // brand STRING,--品牌
    // Product_shipment  STRING,--出货工厂
    // shipping_method  string,--出货方式
    // Compatible STRING,--适用机型
    // Business_TEL STRING,--营业电话
    // Business_project STRING,--营业项目组
    // project_line_BOM  STRING,--产品BOM编号
    // Rawmaterial_texture STRING,--原料材质
    // first_weight STRING,--白片单重
    // project_size_mm  STRING,--成品尺寸mm
    // project_weight STRING,--成品单片净重
    // square_metres STRING,--平方米
    // project_windows  STRING,--成品视窗
    // model STRING,--型号
    // key_component string,--主要组成部分
    // logistics_park string,--物流园
    // work_flow string,--生产流程
    // remark string,--备注

}

/** 海关备案 */
export interface MaterialSummary extends ModelObject {
    children?: MaterialSummary[],

    /** 物料料号 */
    material_part_number: string;
    /** 产线BOM编号 */
    project_line_bom: string;
    /** 发布时间 */
    date_released: Date;
    /** 物料名称 */
    material_name: string;
    /** 材质规格/尺寸 */
    material_spec_size: string;
    /** 物料单位重量 */
    material_unit_weight: string;
    /** 可生产产品数量 */
    producible_quantity: number;
    /** 单片耗用量 */
    single_chip_consumption: number;
    /** 单位 */
    unit: string;
    /** 净重 */
    weight: string;
    /** 耗损 */
    depletion: string;
    /** 有形损耗 */
    material_loss: string;
    /** 无形损耗 */
    intangible_loss: string;
    /** 来料方式 */
    incoming_material_method: string;
    /** 物料属性 */
    material_properties: string;
    /** 物料类别 */
    material_category: string;
    /** 替代料编号 */
    alt_material_number: string;
    /** 入口序号/批号 */
    entr_serial_number: string;
    product_shipment: string;
    /** 部门/联系人电话 */
    factory_tel: string;
    /** 大类 */
    big_classname: string;
    /** 备案项目名称 */
    project_name: string;
    /** 用途 */
    usage: string;
    /** 最终成品编码 */
    projectcode_id_last: string;
    /** 成品尺寸 */
    project_size_yc: string;
    /** 成品单片净重 */
    project_weight: string;
    item_id: string;
    // 部门/联系人电话
    // 大类
    // 备案项目名称	
    // 用途
    // 最终成品编码	
    //                     成品尺寸（mm）
    //                     	成品单片净重（g）

}

export interface Column<T> {
    title: string;
    field: keyof T;
    width?: string;
}